#include "mapping.h"



byte MS_Null[1]= { 0 };

byte MS_Stand[21] = { 4,
		0xEC,   8, 0,   0, 0xF0,
		0xF4, 0xD, 0,   3, 0xF0,
		   4,   8, 0, 0xB, 0xF0,
		 0xC,   8, 0, 0xE, 0xF8
      }; 


byte MS_Wait1[16] = { 3,
         0xEC, 9, 0,   0, 0xF0,
		 0xFC, 9, 0,   6, 0xF0,
		  0xC, 8, 0, 0xC, 0xF8
      };
       
       
byte MS_Wait2[16] = { 3,
         0xEC, 9, 0,	0, 0xF0,
		 0xFC, 9, 0,	6, 0xF0,
	      0xC, 8, 0,  0xC, 0xF8
      };
byte MS_Wait3[16] = { 3,	
         0xEC, 9, 0,	0, 0xF0,
		 0xFC, 9, 0,	6, 0xF0,
	      0xC, 8, 0,  0xC, 0xF8
      };
      
byte MS_LookUp[16] = { 3,	
		 0xEC, 0xA, 0,  0, 0xF0,
		    4,	 8, 0,  9, 0xF0,
		  0xC,   8, 0,0xC, 0xF8
      };
    
byte MS_Walk11[21] = { 4,
		  0xEB, 0xD, 0,    0, 0xEC,
		  0xFB,   9, 0,	   8, 0xEC,
		  0xFB,   6, 0,  0xE,    4,
		   0xB,   4, 0, 0x14, 0xEC
      };

byte MS_Walk12[11] = { 2,
          0xEC, 0xD, 0, 0, 0xED,
		  0xFC, 0xE, 0, 8, 0xF5
      };
      
byte MS_Walk13[11] = { 2,			
          0xED,   9, 0,	0, 0xF3,
	      0xFD, 0xA, 0, 6, 0xF3
      };
      
byte MS_Walk14[21] = { 4,
		  0xEB, 9, 0,    0, 0xF4,
		  0xFB, 9, 0,	 6, 0xEC,
          0xFB, 6, 0,  0xC,    4,  
		   0xB, 4, 0, 0x12, 0xEC
      };
      
byte MS_Walk15[11] = { 2,			
		 0xEC,   9, 0,	0, 0xF3,
		 0xFC, 0xE, 0,  6, 0xEB
      };

byte MS_Walk16[16] = { 3,			
		 0xED, 0xD, 0,   0, 0xEC,
		 0xFD, 0xC, 0,   8, 0xF4,
		    5,	 9, 0, 0xC, 0xF4
      };
byte MS_Walk21[26] = { 5,			
		 0xEB, 9,   0,	  0, 0xEB,
		 0xEB, 6,   0,	  6,    3,
		 0xFB, 8,   0,	0xC, 0xEB,
            3, 9,   0,  0xF, 0xF3,
		 0x13, 0,   0, 0x15, 0xFB
      };
byte MS_Walk22[31] = { 6,			
		 0xEC,   9,   0,	0, 0xEC,
		 0xEC,   1,   0,	6,    4,
		 0xFC, 0xC,   0,    8, 0xEC,
		    4, 	 9,   0,  0xC, 0xF4,
		 0xFC,   5,   0, 0x12,  0xC,
		 0xF4,   0,   0, 0x16, 0x14
      };
byte MS_Walk23[21]	= { 4,
		 0xED,   9, 0,	  0, 0xED,
		 0xED,   1, 0,	  6,    5,
		 0xFD, 0xD, 0,    8, 0xF5,
		  0xD,   8, 0, 0x10, 0xFD
      };
byte MS_Walk24[26] = { 5,
		 0xEB,   9,   0,	 0, 0xEB,
		 0xEB,   5,   0,	 6,    3,
		 0xFB, 0xD,   0,   0xA, 0xF3,
		  0xB,   8,   0,  0x12, 0xF3,
		 0x13,   4,   0,  0x15, 0xFB
      };
byte MS_Walk25[21] = { 4,
		 0xEC,   9, 0,	  0, 0xEC,
		 0xEC,   1, 0,	  6,    4,
		 0xFC, 0xD, 0,    8, 0xF4,
		  0xC,   8, 0, 0x10, 0xFC
       };
byte MS_Walk26[26] = { 5,
		 0xED,   9, 0,	  0, 0xED,
		 0xED,   1, 0,	  6,    5,
		 0xFD,   0, 0,	  8, 0xED,
		 0xFD, 0xD, 0,    9, 0xF5,
		  0xD,   8, 0, 0x11, 0xFD
      };
byte MS_Walk31[21] = { 4,
		 0xF4, 7, 0,	  0, 0xEB,
		 0xEC, 9, 0,	  8, 0xFB,
		 0xFC, 4, 0,	0xE, 0xFB,
		    4, 9, 0,   0x10, 0xFB
      };
byte MS_Walk32[11] = { 2,		
		 0xF4,   7, 0,	0, 0xEC,
		 0xEC, 0xB, 0,  8, 0xFC
      };
byte MS_Walk33[11] = { 2,
		 0xF4,   6, 0, 0, 0xED,
		 0xF4, 0xA, 0, 6, 0xFD
      };
byte MS_Walk34[21] = { 4,
		 0xF4, 6, 0,   0, 0xEB,
		 0xEC, 9, 0,   6, 0xFB,
		 0xFC, 4, 0, 0xC, 0xFB,
		    4, 9, 0, 0xE, 0xFB
      };
byte MS_Walk35[11] = { 2,		
		 0xF4,   6, 0, 0, 0xEC,
		 0xF4, 0xB, 0, 6, 0xFC
      };
byte MS_Walk36[16] = { 3,
		 0xF4,   7, 0,	0, 0xED,
		 0xEC,   0, 0,	8, 0xFD,
		 0xF4, 0xA, 0,  9, 0xFD
      };
byte MS_Walk41[31] = { 6,
		 0xFD,   6, 0,	   0,  0xEB,
		 0xED,   4, 0,	   6,  0xF3,
		 0xF5,   4, 0,	   8,  0xEB,
		 0xF5, 0xA, 0,   0xA,  0xFB,
		  0xD,   0, 0,  0x13,  0xFB,
		 0xFD,   0, 0,	0x14,  0x13
      };
byte MS_Walk42[31] = { 6,			
		 0xFC,   6, 0,	  0,  0xEC,
		 0xE4,   8, 0,	  6,  0xF4,
		 0xEC,   4, 0,	  9,  0xFC,
		 0xF4,   4, 0,	0xB,  0xEC,
		 0xF4, 0xA, 0,  0xD,  0xFC,
		 0xC,    0, 0,  0x16, 0xFC
      };
byte MS_Walk43[21] = { 4,			
		 0xFB,   6, 0,	   0, 0xED,
		 0xF3,   4, 0,	   6, 0xED,
		 0xEB, 0xA, 0,     8, 0xFD,
		 3,	     4, 0,  0x11, 0xFD
      };
byte MS_Walk44[26] = { 5,	
		 0xFD,   6,    0,	 0, 0xEB,
		 0xED,   8,    0,	 6, 0xF3,
		 0xF5,   4,    0,    9, 0xEB,
		 0xF5, 0xD,    0,  0xB, 0xFB,
		 5,	     8,    0, 0x13, 0xFB
      };
byte MS_Walk45[21] = { 4,	
		 0xFC,   6, 0,	  0, 0xEC,
		 0xF4,   4, 0,	  6, 0xEC,
		 0xEC, 0xA, 0,    8, 0xFC,
		 4,	     4, 0, 0x11, 0xFC
      };
byte MS_Walk46[26] = { 5,	
		 0xFB,   6, 0,	  0, 0xED,
		 0xEB, 0xA, 0,    6, 0xFD,
		 0xF3,   4, 0,	0xF, 0xED,
		 3,	     4, 0, 0x11, 0xFD,
		 0xB,    0, 0, 0x13, 0xFD
      };
byte MS_Run11[11] =  { 2,	
		 0xEE,   9, 0, 0, 0xF4,
		 0xFE, 0xE, 0, 6, 0xEC
      };
byte MS_Run12[11] =  { 2,		
		 0xEE,   9, 0, 0, 0xF4,
		 0xFE, 0xE, 0, 6, 0xEC
      };
byte MS_Run13[11] =  { 2,		
		 0xEE,   9, 0,	0, 0xF4,
		 0xFE, 0xE, 0,  6, 0xEC
      };
byte MS_Run14[11] =  { 2,
		 0xEE, 9,   0, 0, 0xF4,
		 0xFE, 0xE, 0, 6, 0xEC
      };
byte MS_Run21[21] =  { 4,
		 0xEE, 9,   0,	   0, 0xEE,
		 0xEE, 1,   0,	   6, 6,
		 0xFE, 0xE, 0,     8, 0xF6,
		 0xFE, 0,   0,  0x14, 0xEE
      };
byte MS_Run22[16] =  { 3,
		 0xEE,   9, 0,	0, 0xEE,
		 0xEE,   1, 0,	6, 6,
		 0xFE, 0xE, 0,  8, 0xF6
      };
byte MS_Run23[21] =  { 4,
		 0xEE,   9, 0,    0, 0xEE,
		 0xEE,   1, 0,    6,    6,
		 0xFE, 0xE, 0,    8, 0xF6,
		 0xFE,   0, 0, 0x14, 0xEE
      };
byte MS_Run24[16] =  { 3,
		 0xEE,   9, 0, 0, 0xEE,
		 0xEE,   1, 0, 6, 6,
		 0xFE, 0xE, 0, 8, 0xF6
      };
byte MS_Run31[11] =  { 2,
		 0xF4,   6, 0, 0, 0xEE,
		 0xF4, 0xB, 0, 6, 0xFE
      };
byte MS_Run32[11] =  { 2,
		 0xF4,   6, 0,	0, 0xEE,
		 0xF4, 0xB, 0,  6, 0xFE
      };
byte MS_Run33[11] =  { 2,
		 0xF4,   6, 0,	0, 0xEE,
		 0xF4, 0xB, 0,  6, 0xFE
      };
byte MS_Run34[11] =  { 2,
		 0xF4,   6, 0,	0, 0xEE,
		 0xF4, 0xB, 0,  6, 0xFE
      };
byte MS_Run41[21] =  { 4,
		 0xFA,   6, 0,	  0, 0xEE,
		 0xF2,   4, 0,	  6, 0xEE,
		 0xEA, 0xB, 0,    8, 0xFE,
		 0xA,    0, 0, 0x14, 0xFE
      };
byte MS_Run42[11] = {  2,
		 0xF2, 7,   0,	0, 0xEE,
		 0xEA, 0xB, 0,  8, 0xFE
      };
byte MS_Run43[21]  = { 4,
		 0xFA,   6, 0,	  0, 0xEE,
		 0xF2,   4, 0,	  6, 0xEE,
		 0xEA, 0xB, 0,    8, 0xFE,
	     0xA,    0, 0, 0x14, 0xFE
      };
byte MS_Run44[11] = { 2,
		 0xF2,   7, 0,	0, 0xEE,
		 0xEA, 0xB, 0,  8, 0xFE
      };
byte MS_Roll1[6] = { 1,
		 0xF0, 0xF, 0, 0, 0xF0
      };
byte MS_Roll2[6] = { 1,	
		 0xF0, 0xF, 0, 0, 0xF0
      };
byte MS_Roll3[6] = { 1,
		 0xF0, 0xF, 0, 0, 0xF0
      };
byte MS_Roll4[6] = { 1,
		 0xF0, 0xF, 0, 0, 0xF0
      };
byte MS_Roll5[6] = { 1,	
		 0xF0, 0xF, 0, 0, 0xF0
      };
byte MS_Warp1[11] = { 2,
		 0xF4, 0xE, 0,   0, 0xEC,
		 0xF4,   2, 0, 0xC,  0xC
      };
byte MS_Warp2[6] = { 1,	
		 0xF0, 0xF, 0, 0, 0xF0
      };
byte MS_Warp3[11] = {  2,
		 0xEC, 0xB, 0,    0, 0xF4,
		  0xC,   8, 0,  0xC, 0xF4
      };
byte MS_Warp4[6] = { 1,	
		 0xF0, 0xF, 0, 0, 0xF0
      };
byte MS_Stop1[11] = { 2,
		 0xED,   9, 0,	0, 0xF0,
		 0xFD, 0xE, 0,  6, 0xF0
      };
byte MS_Stop2[21] = { 4,
		 0xED,   9,   0,    0, 0xF0,
		 0xFD, 0xD,   0,    6, 0xF0,
		 0xD,    4,   0,  0xE,    0,
		 5,	     0,   0, 0x10, 0xE8
      };
byte MS_Duck[21] = { 4,
		 0xF4,   4, 0,	0, 0xFC,
		 0xFC, 0xD, 0,  2, 0xF4,
		 0xC,    8, 0,0xA, 0xF4,
		 4,	     0, 0,0xD, 0xEC
      };
byte MS_Balance1[16] = {  3,
		 0xEC,   8, 8,	0, 0xE8,
		 0xF4,   2, 8,	3,    0,
		 0xF4, 0xF, 8,  6,  0x0
      };
byte MS_Balance2[16] = {  3,	
		 0xEC, 0xE,    8,    0, 0xE8,
		    4, 0xD,    8,  0xC, 0xE0,
		  0xC,   0, 0x18, 0x14,    0
      };
byte MS_Float1[16] = { 3,	
		 0xF4, 0xD, 0,   0, 0xFC,
		 0xFC,   5, 0,	 8, 0xEC,
		    4,   8, 0, 0xC, 0xFC
      };
byte MS_Float2[11] = { 2,	
		 0xF4, 0xA, 0, 0, 0xE8,
		 0xF4, 0xA, 8, 0, 0
      };
byte MS_Float3[16] = { 3,	
		 0xF4, 0xD, 0,  0, 0xE4,
		 0xFC,   0, 0,	8,    4,
		    4, 0xC, 0,  9, 0xEC
      };
byte MS_Float4[16] = { 3,	
		 0xF4, 0xD, 0,   0, 0xFC,
		 0xFC,   5, 0,	 8, 0xEC,
		    4,   8, 0, 0xC, 0xFC
      };
byte MS_Spring[16] = { 3,	
		 0xE8, 0xB, 0,    0, 0xF0,
		    8,	 4, 0,  0xC, 0xF8,
		 0x10,   0, 0,	0xE, 0xF8
      };
byte MS_Hang1[21]= { 4,		
		 0xF8, 0xE, 0,   0,  0xE8,
		    0,   5, 0, 0xC,  8,
		 0xF8,   0, 0, 0x10, 8,
		 0xF0,   0, 0, 0x11, 0xF8
      };
byte MS_Hang2[21] = { 4,	
		 0xF8, 0xE, 0,     0, 0xE8,
		    0,	 5, 0,   0xC,    8,
		 0xF8,   0, 0,	0x10,    8,
		 0xF0,   0, 0,	0x11, 0xF8
      };
byte MS_Leap1[26] = { 5,	
		 0xE8,0xA,  0,    0, 0xF4,
		 0xF0,  1,  0,	  9,  0xC,
		    0,	9,  0,  0xB, 0xF4,
		 0x10,  4,  0, 0x11, 0xF4,
		    0,	0,  0, 0x13, 0xEC
      };
byte MS_Leap2[26] = { 5,	
		 0xE8, 0xA, 0,    0, 0xF4,
		 0xE8,   1, 0,	  9,  0xC,
		    0,	 9, 0,  0xB, 0xF4,
		 0x10,   4, 0, 0x11, 0xF4,
		    0,   0, 0, 0x13, 0xEC
      };
byte MS_Push1[11] = { 2,			
		 0xED, 0xA, 0,   0, 0xF3,
		    5, 0xD, 0,   9, 0xEB
      };
byte MS_Push2[16] = { 3,			
		 0xEC, 0xA, 0,   0, 0xF3,
		    4,	 8, 0,   9, 0xF3,
		  0xC,   4, 0, 0xC, 0xF3
       };
byte MS_Push3[11] = { 2,			
		 0xED, 0xA, 0,   0, 0xF3,
            5, 0xD, 0,   9, 0xEB
       };
byte MS_Push4[16] = { 3,	
		 0xEC, 0xA, 0,   0, 0xF3,
		    4,	 8, 0,   9, 0xF3,
		  0xC,   4, 0, 0xC, 0xF3
       };
byte MS_Surf[11] = { 2,	
		 0xEC,   9, 0,	0, 0xF0,
		 0xFC, 0xE, 0,  6, 0xF0
       };
byte MS_BubStand[16] = { 3,
		 0xEC, 0xA, 0,   0, 0xF0,
		    4, 	 5, 0,   9, 0xF8,
		 0xE4,   0, 0, 0xD, 0xF8
       };
byte MS_Burnt[16] = { 3,		
		 0xE8, 0xD, 0,   0, 0xEC,
		 0xE8,   1, 0,   8,  0xC,
		 0xF8, 0xB, 0, 0xA, 0xF4
       };
byte MS_Drown[26] = { 5,			
		 0xE8,   0, 0, 0, 0xEC,
		 0xE8,   1, 0, 8, 0xC,
		 0xF8,   9, 0, 0xA, 0xF4,
		    8, 0xC, 0, 0x10, 0xF4,
		 0x10,   0, 0, 0x14, 0xF4
      };
byte MS_Death[26] = { 5,			
		 0xE8, 0xD, 0, 0, 0xEC,
		 0xE8,   1, 0, 8, 0xC,
		 0xF8,   9, 0, 0xA, 0xF4,
		 8,	   0xC, 0, 0x10, 0xF4,
		 0x10,   0, 0, 0x14, 0xF4
      };
byte MS_Shrink1[11]	= { 2,			
		 0xEC,   8, 0, 0, 0xF0,
		 0xF4, 0xF, 0, 3, 0xF0
      };
byte MS_Shrink2[16]	= { 3,			
		 0xEC,   8, 0,	 0, 0xF0,
		 0xF4, 0xE, 0,    3, 0xF0,
		  0xC,   8, 0,  0xF, 0xF8
      };
byte MS_Shrink3[6]	= { 1,			
		 0xF0, 0xB, 0,    0, 0xF4
      };
byte MS_Shrink4[6]	= { 1,			
		 0xF4,   6, 0,    0, 0xF8
      };
byte MS_Shrink5[6]	= { 1,			
		 0xF8,   1, 0,    0, 0xFC
      };
byte MS_Float5[16]	= { 3,			
		 0xF4, 0xD, 8,    0, 0xE4,
		 0xFC,   5, 8,    8,    4,
		    4,	 8, 8,  0xC, 0xEC
      };
byte MS_Float6[16]	= { 3,
		 0xF4, 0xD, 8, 0, 0xFC,
		 0xFC,   0, 8, 8, 0xF4,
            4, 0xC, 8, 9, 0xF4
      };
byte MS_Injury[16]	= { 3,	
		 0xF0, 0xE, 0,     0, 0xEC,
		 0xF8,   1, 0,   0xC, 0xC,
		    8, 0xC, 0,   0xE, 0xF4
      };
byte MS_GetAir[16]	= { 3,
		 0xEB,   9, 0,	   0, 0xF4,
		 0xFB, 0xE, 0,     6, 0xEC,
		    3,   1, 0,  0x12, 0xC
      };
byte MS_WaterSlide[11] = { 2,
		 0xF0, 0xF, 0,     0, 0xEC,
		 0xF8,   2, 0,	0x10, 0xC
      };

//; ---------------------------------------------------------------------------
//; Sprite mappings - Sonic
//; ---------------------------------------------------------------------------
byte *Map_Sonic[89]={MS_Null, MS_Stand, MS_Wait1, MS_Wait2, MS_Wait3, MS_LookUp, MS_Walk11, MS_Walk12, MS_Walk13, MS_Walk14,
                     MS_Walk15, MS_Walk16, MS_Walk21, MS_Walk22, MS_Walk23, MS_Walk24, MS_Walk25, MS_Walk26, MS_Walk31, MS_Walk32,
                     MS_Walk33, MS_Walk34, MS_Walk35, MS_Walk36, MS_Walk41, MS_Walk42, MS_Walk43, MS_Walk44, MS_Walk45, MS_Walk46,
                     MS_Run11, MS_Run12, MS_Run13, MS_Run14, MS_Run21, MS_Run22, MS_Run23, MS_Run24, MS_Run31, MS_Run32,
                     MS_Run33, MS_Run34, MS_Run41, MS_Run42, MS_Run43, MS_Run44, MS_Roll1, MS_Roll2, MS_Roll3, MS_Roll4,
                     MS_Roll5, MS_Warp1, MS_Warp2, MS_Warp3, MS_Warp4, MS_Stop1, MS_Stop2, MS_Duck, MS_Balance1, MS_Balance2,
                     MS_Float1, MS_Float2, MS_Float3, MS_Float4, MS_Spring, MS_Hang1, MS_Hang2, MS_Leap1, MS_Leap2, MS_Push1,
                     MS_Push2, MS_Push3, MS_Push4, MS_Surf, MS_Surf, MS_BubStand, MS_Burnt, MS_Drown, MS_Death, MS_Shrink1,
                     MS_Shrink2, MS_Shrink3, MS_Shrink4, MS_Shrink5, MS_Float5, MS_Float6, MS_Injury, MS_GetAir, MS_WaterSlide 
                     };
byte **getMap_Sonic() { return Map_Sonic; }
